package com.tan00xu.vo;

import lombok.AllArgsConstructor;
import lombok.Data;

@Data
@AllArgsConstructor
public class Result {
    /**
     * 是否成功
     */
    private boolean success;
    /**
     * 返回码
     */
    private Integer code;
    /**
     * 返回信息
     */
    private String msg;
    /**
     * 返回数据
     */
    private Object data;

    /**
     * 成功
     * @param data 需要返回的数据
     * @return Result
     */
    public static Result success(Object data) {
        return Result.success("success",data);
    }

    /**
     * 成功
     * @param msg 返回信息
     * @param data 需要返回的数据
     * @return Result
     */
    public static Result success(String msg, Object data) {
        return new Result(true, 200, msg, data);
    }

    /**
     * 失败
     * @param code 需要返回code
     * @param msg 需要返回的消息
     * @return Result
     */
    public static Result fail(Integer code, String msg) {
        return new Result(false, code, msg, null);
    }
}
